//增量元素之间的最大差值
/*给你一个下标从 0 开始的整数数组 nums ，该数组的大小为 n ，请你计算 nums[j] - nums[i] 能求得的 最大差值 ，其中 0 <= i < j < n 且 nums[i] < nums[j] 。

返回 最大差值 。如果不存在满足要求的 i 和 j ，返回 -1 。
*/
class Solution {
public:
    int maximumDifference(vector<int>& nums) {
        int _min = INT_MAX;
        int Max = -1;
        for (auto& num : nums) {
            if (num > _min)
                Max = max(Max, num - _min);
            _min = min(num, _min);
        }
        return Max;
    }
};

//分割圆的最少切割次数
/*圆内一个 有效切割 ，符合以下二者之一：

该切割是两个端点在圆上的线段，且该线段经过圆心。
该切割是一端在圆心另一端在圆上的线段。
一些有效和无效的切割如下图所示。
*/
class Solution {
public:
    int numberOfCuts(int n) {
        if (n == 1)
            return 0;
        if (n % 2)
            return n;
        return n / 2;
    }
};
